'''
Created on 23/03/2012

@author: nicolas
'''

import pylab as p

N = 50
STEP = 1
# Datos del pulso
COMIENZO = 0
FINAL = 20
RANGO = FINAL - COMIENZO
# Valores de n para que el dibujo quede centrado
serie = p.arange(RANGO / 2 - N / 2, RANGO / 2 + N / 2, STEP)

# Sea X(n) = u(n)-u(n-20)
def X(n):
    if n >= COMIENZO and n < FINAL:
        return 1
    else:
        return 0


# El muestreo de la funcion es:
muestreo = []
for n in serie:
    muestreo.append(X(n))
    
# La convolucion es:
convolucion = p.convolve(muestreo, muestreo, 'same')

# Grafico
p.figure(1)

p.subplot(211)
p.title('Original')
p.plot(serie, muestreo)
p.plot(serie, muestreo, 'x')
p.ylim(ymax=1.1, ymin= -0.1)


p.subplot(212)
p.title('Convolucion')
p.plot(serie, convolucion)
p.plot(serie, convolucion, 'x')
p.ylim(ymax=21, ymin= -1)

p.savefig('punto_3'+'_n'+str(N)+'.png')

p.show()
